import { DefaultQuestion, IQuestion } from "@/model/Question";
import { IAnswerChecker } from "@/controlor/AnswerChecker/IAnswerChecker";
import { DefaultAnswer, IAnswer } from "@/model/Answer";
import { IHistory } from "@/model/History";
import { GuessNumAnswerChecker } from "@/controlor/AnswerChecker/GuessNumAnswerChecker";

export interface INumGameState {
  Question: IQuestion;
  Answer: IAnswer;
  AnswerChecker: IAnswerChecker;
  Histories: IHistory[];
  HistoryID: string;
}

export class DefaultNumGameState implements INumGameState {
  Answer = new DefaultAnswer();
  AnswerChecker = new GuessNumAnswerChecker();
  Histories = [];
  Question = new DefaultQuestion();
  HistoryID = "";
}
